scale: Fix css node ordering and expected results
authorTimm Bäder <mail@baedert.org>
Mon, 22 May 2017 12:15:39 +0000 (14:15 +0200)
committerMatthias Clasen <mclasen@redhat.com>
Thu, 20 Jul 2017 01:27:13 +0000 (21:27 -0400)
Add :dir(ltr) where expected, i.e. everywhere we now have a widget but
had a gadget before.
Also, fix the expected output to expect mark subnodes in the order
specified in the GtkScale does, i.e.

├── mark
    ├── [label]
    ╰── indicator

for marks at the top of the scale and

├── mark
    ├── indicator
    ╰── [label]

For marks at the bottom of the scale.

gtk/gtkscale.c
testsuite/css/nodes/scale.nodes

index 8227201a7d5fe27b5f1a92ccd4cc2b8ccb3404f2..002e9d40c02c3918432ca384608ac9636fc33665 100644 (file)
@@ -1953,7 +1953,10 @@ gtk_scale_add_mark (GtkScale        *scale,
                                          "use-markup", TRUE,
                                          "label", mark->markup,
                                          NULL);
-      gtk_widget_set_parent (mark->label_widget, mark->widget);
+      if (marks_widget == priv->top_marks_widget)
+        gtk_widget_insert_after (mark->label_widget, mark->widget, NULL);
+      else
+        gtk_widget_insert_before (mark->label_widget, mark->widget, NULL);
     }
 
   m = g_slist_find (priv->marks, mark);
index 90cf41a01899410f0fb9dde37cc7b77c43284738..f28935551fceb5a68631079786d9e416df0e70e2 100644 (file)
@@ -2,62 +2,55 @@
   decoration:dir(ltr)
   box#scales.vertical:dir(ltr)
     scale.horizontal:dir(ltr)
-      value.top
-      contents
-        trough:dir(ltr)
-          slider:dir(ltr)
-          highlight.top:dir(ltr)
+      value.top:dir(ltr)
+      trough:dir(ltr)
+        slider:dir(ltr)
+        highlight.top:dir(ltr)
     scale.horizontal:dir(ltr)
-      value.bottom
-      contents
-        trough:dir(ltr)
-          slider:dir(ltr)
-          highlight.top:dir(ltr)
+      value.bottom:dir(ltr)
+      trough:dir(ltr)
+        slider:dir(ltr)
+        highlight.top:dir(ltr)
     scale.horizontal:dir(ltr)
-      contents
-        trough:dir(ltr)
-          slider:dir(ltr)
-          highlight.top:dir(ltr)
-          fill.top:dir(ltr)
+      trough:dir(ltr)
+        slider:dir(ltr)
+        highlight.top:dir(ltr)
+        fill.top:dir(ltr)
     scale.horizontal:dir(ltr)
-      contents
-        trough:dir(ltr)
-          slider:dir(ltr)
-          highlight.bottom:dir(ltr)
+      trough:dir(ltr)
+        slider:dir(ltr)
+        highlight.bottom:dir(ltr)
     scale.horizontal.marks-before:dir(ltr)
       marks.top:dir(ltr)
         mark:dir(ltr)
-          indicator
-          label
+          label:dir(ltr)
+          indicator:dir(ltr)
         mark:dir(ltr)
-          indicator
-          label
-      contents
-        trough:dir(ltr)
-          slider:dir(ltr)
-          highlight.top:dir(ltr)
+          label:dir(ltr)
+          indicator:dir(ltr)
+      trough:dir(ltr)
+        slider:dir(ltr)
+        highlight.top:dir(ltr)
     scale.horizontal.marks-before.marks-after:dir(ltr)
       marks.top:dir(ltr)
         mark:dir(ltr)
-          indicator
-          label
-      contents
-        trough:dir(ltr)
-          slider:dir(ltr)
-          highlight.top:dir(ltr)
+          label:dir(ltr)
+          indicator:dir(ltr)
+      trough:dir(ltr)
+        slider:dir(ltr)
+        highlight.top:dir(ltr)
       marks.bottom:dir(ltr)
         mark:dir(ltr)
-          label
-          indicator
+          indicator:dir(ltr)
+          label:dir(ltr)
     scale.horizontal.marks-after:dir(ltr)
-      contents
-        trough:dir(ltr)
-          slider:dir(ltr)
-          highlight.top:dir(ltr)
+      trough:dir(ltr)
+        slider:dir(ltr)
+        highlight.top:dir(ltr)
       marks.bottom:dir(ltr)
         mark:dir(ltr)
-          label
-          indicator
+          indicator:dir(ltr)
+          label:dir(ltr)
         mark:dir(ltr)
-          label
-          indicator
+          indicator:dir(ltr)
+          label:dir(ltr)